// module.exports = {
//
//   lintOnSave: process.env.NODE_ENV !== 'production',
//   devServer: {
//     proxy: {
//       '/metric': {// 匹配所有以 '/api1'开头的请求路径
//         target: 'http://localhost:8000/',// 代理目标的基础路径
//         changeOrigin: true,
//         pathRewrite: {'^/metric': ''}
//       },
//       '/machine': {// 匹配所有以 '/api2'开头的请求路径
//         target: 'http://localhost:8000/',// 代理目标的基础路径
//         changeOrigin: true,
//         pathRewrite: {'^/machine': ''}
//       }
//     }
//   },
//   css: {
//     loaderOptions: {
//       sass: {
//         sassOptions: { outputStyle: "expanded" }
//       }
//     }
//   },
//   configureWebpack: {
//     name: name,
//     resolve: {
//       alias: {
//         '@': resolve('src')
//       }
//     },
//     plugins: [
//       // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
//       new CompressionPlugin({
//         test: /\.(js|css|html)?$/i,     // 压缩文件格式
//         filename: '[path].gz[query]',   // 压缩后的文件名
//         algorithm: 'gzip',              // 使用gzip压缩
//         minRatio: 0.8                   // 压缩率小于1才会压缩
//       })
//     ],
//   },
//   chainWebpack(config) {
//     config.plugins.delete('preload') // TODO: need test
//     config.plugins.delete('prefetch') // TODO: need test
//
//     // set svg-sprite-loader
//     config.module
//       .rule('svg')
//       .exclude.add(resolve('src/assets/icons'))
//       .end()
//     config.module
//       .rule('icons')
//       .test(/\.svg$/)
//       .include.add(resolve('src/assets/icons'))
//       .end()
//       .use('svg-sprite-loader')
//       .loader('svg-sprite-loader')
//       .options({
//         symbolId: 'icon-[name]'
//       })
//       .end()
//
//     config
//       .when(process.env.NODE_ENV !== 'development',
//         config => {
//           config
//             .plugin('ScriptExtHtmlWebpackPlugin')
//             .after('html')
//             .use('script-ext-html-webpack-plugin', [{
//               // `runtime` must same as runtimeChunk name. default is `runtime`
//               inline: /runtime\..*\.js$/
//             }])
//             .end()
//           config
//             .optimization.splitChunks({
//             chunks: 'all',
//             cacheGroups: {
//               libs: {
//                 name: 'chunk-libs',
//                 test: /[\\/]node_modules[\\/]/,
//                 priority: 10,
//                 chunks: 'initial' // only package third parties that are initially dependent
//               },
//               elementUI: {
//                 name: 'chunk-elementUI', // split elementUI into a single package
//                 priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
//                 test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
//               },
//               commons: {
//                 name: 'chunk-commons',
//                 test: resolve('src/components'), // can customize your rules
//                 minChunks: 3, //  minimum common number
//                 priority: 5,
//                 reuseExistingChunk: true
//               }
//             }
//           })
//           config.optimization.runtimeChunk('single'),
//             {
//               from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
//               to: './' //到根目录下
//             }
//         }
//       )
//   }
//   }
//
